#ifndef CLASSEPRINCIPALE_H_INCLUDED
#define CLASSEPRINCIPALE_H_INCLUDED

#include<string>

class CP {

    public: //Contiendra toutes les methodes communes aux classes filles.

    ///Destructeur virtuel et Constructeur vide
    CP(int x, int y, int vie, int mana, std::string type);
    virtual ~CP();

    ///Degats et vie
    void RecevoirDegat(int x);
    bool EstEnVie();

    ///Accesseurs de coordonnees
    int GetX() const;
    int GetY() const;

    ///SET/GET l'orientation
    void SetOrientation(const char touche);
    char GetOrientation();

    ///SET/GET la categorie
    std::string GetCategorie();
    void SetCategorie(std::string categorie);


    protected:

    ///Reperage
    int m_x; // Abscisse
    int m_y; // Ordonnee
    char m_orientation;

    ///Caracteristiques
    int m_vie;
    int m_mana;

    ///Le type et categorie du personnage
    std::string m_categorie; //Monstre, PNJ, Objet ...
    std::string m_type; //magicien, archer ...

};

#endif
